home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 04 geoProgramming / GEOSTE.ARC / PAGE01-11 next >
Encoding:
Text File  |  2019-04-13  |  28.6 KB  |  727 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.                           ╟┼╧╙ ╨ROGRAMMER'S ╥EFERENCE ╟UIDE
  31.  
  32.                                      WRITTEN BY
  33.  
  34.                                ┴LEXANDER ─ONALD ┬OYCE
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.                                        ╨REFACE
  76.  
  77.  
  78.                ╘HIS DOCUMENT WAS WRITTEN AFTER HAVING DISASSEMBLED THE ╟┼╧╙
  79.           ╦ERNAL  AND COMPLETELY COMMENTING AND REVERSE ENGINEERING IT.  ╔T
  80.           TOOK  A  GREAT DEAL OF TIME TO DO THIS,  BUT ╔ DID IT  BECAUSE  ╔
  81.           ENJOY   COMPUTER  PROGRAMMING  AND  DECIPHERING  OTHER   PEOPLE'S
  82.           PROGRAMS.  ┬ECAUSE  OF THE AMOUNT OF EFFORT INVOLVED IN  CREATING
  83.           THIS DOCUMENT,  ╔ DO NOT REALLY WISH TO GIVE IT AWAY.  ╚OWEVER, ╔
  84.           KNOW  THERE ARE OTHER PROGRAMMERS WHO WILL BENEFIT FROM  MY  HARD
  85.           WORK.  ╘HEREFORE ╔ AM OFFERING THIS DOCUMENT AS SHAREWARE. ╔F YOU
  86.           GET  GOOD USE OUT OF THIS DOCUMENT,  SEND ME WHATEVER YOU FEEL IT
  87.           IS WORTH TO YOU (OR SOME REASONABLE AMOUNT,  PERSONNALY ╔ FIND IT
  88.           INVALUABLE).  ┴  FEW  DOLLARS WOULD BE APPRECIATED.  ╚ERE  IS  MY
  89.           ADDRESS:
  90.                          ┴LEXANDER ─ONALD ┬OYCE
  91.                          2269 ╟RANDVIEW ┴VE., ┴PT. 1
  92.                          ├LEVELAND ╚EIGHTS, ╧HIO 44106-3144
  93.  
  94.                ╘HANK YOU AND HAPPY COMPUTING!!
  95.  
  96.                                    ┴LEX ┬OYCE
  97.                                    ╧CTOBER 1986
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.                                   ╘ABLE OF ├ONTENTS
  141.  
  142.  
  143.  
  144.           ├HAPTER 1      ╟┼╧╙ ╦ERNAL ╥OUTINES
  145.                          ─EFINES  ALL THE ╟┼╧╙ KERNAL ROUTINES  ALONG  WITH
  146.                          THEIR INPUT AND OUTPUT REQUIREMENTS.
  147.  
  148.           ├HAPTER 2      ─EVICE ─RIVERS
  149.                          ─EFINES THE FORMAT FOR ╔NPUT AND ╨RINTER ─RIVERS.
  150.  
  151.           ├HAPTER 3      ╞ILE ╞ORMATS
  152.                          ─ESCRIBES  THE  FORMAT  OF ALL OF  ╟┼╧╙'S  VARIOUS
  153.                          FILES.
  154.  
  155.           ├HAPTER 4      ─IRECTORY ╙TRUCTURE
  156.                          ─ESCRIBES   THE   STRUCTURE  OF  A   ╟┼╧╙   DISK'S
  157.                          DIRECTORY.
  158.  
  159.           ├HAPTER 5      ╔NFORMATION ╙ECTOR ╞ORMAT
  160.                          ─ESCRIBES  THE STRUCTURE AND THE DATA CONTAINED IN
  161.                          A FILE'S INFORMATION SECTOR.
  162.  
  163.           ├HAPTER 6      ═EMORY ═AP
  164.                          ─EFINES THE MEMORY LOCATIONS USED BY ╟┼╧╙.
  165.  
  166.  
  167.           ┴PPENDIX ╔     ╟┼╧╙ ┼RRORS
  168.                          ─EFINES THE ERROR NUMBERS THAT CAN BE RETURNED  BY
  169.                          THE ╟┼╧╙ ╦ERNAL ROUTINES.
  170.  
  171.           ┴PPENDIX ╔╔    ╟LOSSARY
  172.                          ─EFINES SEVERAL TERMS USED IN THIS DOCUMENT.
  173.  
  174.           ┴PPENDIX ╔╔╔   ╞ILL ╨ATTERNS
  175.                          ┴ REPRESENTATION OF ╟┼╧╙'S 32 FILL PATTERNS.
  176.  
  177.           ┴PPENDIX ╔╓    ╨ROGRAMMING ╬OTES
  178.                          ╔NFORMATION NECESSARY FOR ╟┼╧╙ PROGRAMMING.
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-1
  203.  
  204.  
  205.                                 ┴LPHABETICAL ╠ISTING
  206.  
  207.           ┴┬╙16     $├16╞     16 BIT ABSOLUTE VALUE                   1-9
  208.           ┴╠╠╧├     $├292     ╞IND AND ALLOCATE A DISK BLOCK          1-9
  209.           ┴╨╨┼╬─    $├289     ┴DD A ╓╠╔╥ CHAIN                        1-9
  210.           ┬┴╙╔├     $├241     ╥ESTART ┬┴╙╔├                           1-10
  211.           ┬╠╦├═╨    $├26┼     ═EMORY BLOCK COMPARISON                 1-10
  212.           ┬╠╦╞╔╠    $├17┬     ═EMORY BLOCK FILL                       1-10
  213.           ┬╠╦╞╠2    $├1┬4     ═EMORY BLOCK FILL WITH INLINE DATA      1-11
  214.           ┬╠╦═╧╓    $├268     ═EMORY BLOCK MOVE                       1-11
  215.           ┬╠╦╙┼╘    $├181     ═ULTIPLE MEMORY LOCATION
  216.                                    INITIALIZATION                     1-11
  217.           ├┬╧╪      $├142     ─RAW A CLICK BOX                        1-12
  218.           ├┬╧╪2     $├1┴┬     ─RAW A CLICK BOX WITH INLINE DATA       1-12
  219.           ├┬╧╪┼╙    $├15┴     ─RAW A TABLE OF CLICK BOXES             1-13
  220.           ├╚┴╥╙╘    $├1┬1     ╟ET A CHARACTER'S STATS                 1-13
  221.           ├╚╟─╥╓    $├2┬├     ├HANGE DISK DRIVE DEVICE NUMBER         1-14
  222.           ├╦═╧╒╙    $├2┬3     ├HECK IF MOUSE IS INSIDE A WINDOW       1-14
  223.           ├╠╥╥─┘    $├232     ╙TOP TURBODOS IN A DRIVE                1-14
  224.           ├╠╥╙╘╙    $├235     ╙TOP AND REMOVE TURBODOS IN A DRIVE     1-15
  225.           ├╠╙═╬╒    $├190     ├LOSE CURRENT MENU                      1-15
  226.           ├╠╙╙┼╥    $├25╞     ├LOSE SERIAL COMMUNICATION              1-15
  227.           ├╠╙╫╔╬    $├2┬╞     ├LOSE A WINDOW                          1-15
  228.           ├═─╘┬╠    $├103     ╔NITIALIZE A TABLE OF RECURRING
  229.                                    TIMED EVENTS                       1-16
  230.           ├═┼╬╒╙    $├1┬─     ├LOSE ALL MENU LEVELS                   1-16
  231.           ├╧╬╓╥╘    $├1┼┴     ├ONVERT A DISK TO ╟┼╧╙ FORMAT           1-16
  232.           ├╧╨┘┬     $├12─     ├OPY A BOX FROM SCREEN 1 TO SCREEN 2    1-17
  233.           ├╧╨┘┬2    $├1┴5     ├OPY A BOX FROM SCREEN 1 TO SCREEN 2
  234.                                    WITH INLINE DATA                   1-17
  235.           ├╧╨┘┬3    $├250     ├OPY A BOX FROM SCREEN 2 TO SCREEN 1    1-17
  236.           ├╧╨┘┬4    $├253     ├OPY A BOX FROM SCREEN 2 TO SCREEN 1
  237.                                    WITH INLINE DATA                   1-17
  238.           ├╧╨┘╠     $├11┼     ├OPY A LINE FROM SCREEN 2 TO SCREEN 1   1-18
  239.           ├╧╨┘╙╨    $├1├6     ├OPY A SPRITE DATA BLOCK                1-18
  240.           ├╒╥╙╧╞    $├29┼     ╘URN OFF THE TEXT CURSOR                1-18
  241.           ├╒╥╙╧╬    $├29┬     ╘URN ON THE TEXT CURSOR                 1-18
  242.           ├╫╔─╘╚    $├1├9     ╟ET A CHARACTER'S WIDTH                 1-19
  243.           ├╫╥╔╘┼    $├223     ╓ERIFY BEFORE WRITING SECTOR            1-19
  244.           ─┼├16     $├175     ─ECREMENT A 16 BIT INTEGER              1-19
  245.           ─┼├╧─┼    $├20┼     ├OMPUTE THE CHECKSUM OF A MEMORY
  246.                                    REGION                             1-20
  247.           ─┼╠┴┘     $├199     ╙ET UP A TIME DELAY                     1-20
  248.           ─┼╠┼╘2    $├244     ─ELETE A TEMPORARY FILE                 1-20
  249.           ─┼╠┼╘┼    $├238     ─ELETE A FILE                           1-20
  250.           ─╔╥─╙╦    $├1╞0     ├REATE A DIRECTORY ENTRY ON DISK        1-21
  251.           ─╔╥═┼═    $├1╞3     ├REATE A DIRECTORY ENTRY IN MEMORY      1-21
  252.           ─╥┴╫      $├2┴┴     ─RAW A CODED IMAGE                      1-22
  253.           ─╥┴╫2     $├2├5     ─RAW A CODED IMAGE WITH USER PATCHES    1-22
  254.           ─╥┴╫├╚    $├202     ─RAW A CHARACTER ON THE SCREEN          1-23
  255.           ─╥╓╬┴═    $├298     ├OMPUTE ADDRESS OF DISK'S NAME          1-23
  256.           ─╥╓╙┼╘    $├2┬0     ╙ELECT A DRIVE                          1-23
  257.           ─╥╫═╬╒    $├193     ─RAW THE CURRENT MENU                   1-23
  258.           ─╙┼╘╒╨    $├214     ╙ETUP A DRIVE WITH TURBODOS             1-24
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-2
  269.  
  270.  
  271.           ─╙╨├╚╥    $├145     ─ISPLAY A CHARACTER                     1-24
  272.           ─╙╨╬╒═    $├184     ─ISPLAY A 16 BIT INTEGER                1-25
  273.           ─╙╨╘╪2    $├1┴┼     ─ISPLAY A TEXT STRING WITH INLINE
  274.                                    DATA                               1-26
  275.           ─╙╨╘╪╘    $├148     ─ISPLAY A TEXT STRING                   1-26
  276.           ┼╬┴┬╠┼    $├106     ┼NABLE A RECURRING TIMED EVENT          1-26
  277.           ┼╥┴═╬╙    $├157     ┼RASE ALL MENUS                         1-27
  278.           ┼╥┴═╬╒    $├154     ┼RASE THE CURRENT MENU                  1-27
  279.           ┼╪┼╥╘╬    $├109     ╞ORCE A RECURRING TIMED EVENT TO RUN    1-27
  280.           ╞┴╠╠╧├    $├1╞├     ┴LLOCATE SECTORS FOR A FILE             1-27
  281.           ╞┴╠╧├2    $├24─     ┴LLOCATE SECTORS FOR A FILE             1-28
  282.           ╞╧╬╘      $├1├├     ═AKE A MEMORY RESIDENT FONT THE
  283.                                    CURRENT FONT                       1-28
  284.           ╞╧╥┬╔─    $├10├     ╨REVENT A RECURRING TIMED EVENT FROM
  285.                                    RUNNING                            1-28
  286.           ╞╥┼┼      $├226     ╞REE A FILE'S SECTORS                   1-29
  287.           ╟┼╧╙├╦    $├1─┼     ├HECK IF A DISK IS ╟┼╧╙ FORMAT          1-29
  288.           ╟┼╘┬┘╘    $├2┬6     ╟ET A BYTE FROM A FILE                  1-29
  289.           ╟┼╘╔╬     $├2┴7     ╥EAD A CHARACTER FROM THE KEYBOARD      1-30
  290.           ╟╧╘╧      $├280     ╟OTO A SPECIFIC ╓╠╔╥ CHAIN              1-30
  291.           ╟╥╨╚├2    $├1┴8     ╨ROCESS A GRAPHIC COMMAND TABLE WITH
  292.                                    INLINE DATA                        1-30
  293.           ╟╥╨╚╔├    $├136     ╨ROCESS A GRAPHIC COMMAND TABLE         1-30
  294.           ╚╠╔╬┼     $├118     ─RAW A HORIZONTAL LINE IN A PATTERN     1-31
  295.           ╚╧╠┼      $├1╞6     ╞IND A HOLE IN THE DIRECTORY            1-32
  296.           ╔╬─╩═╨    $├1─8     ╨ERFORM AN INDIRECT JUMP                1-32
  297.           ╔╬╔╘01    $├271     ╔NITIALIZE ╟┼╧╙ VARIABLES               1-32
  298.           ╔╬╔╘─╓    $├1┼1     ╔NITIALIZE A DRIVE                      1-32
  299.           ╔╬╔╘═╙    $├14┼     ╔NITIALIZE THE MOUSE                    1-33
  300.           ╔╬╨╒╘     $├1┬┴     ╥EAD A LINE OF TEXT FROM THE USER       1-33
  301.           ╔╬╙┼╥╘    $├286     ╔NSERT A ╓╠╔╥ CHAIN                     1-34
  302.           ╔╬╘┬═     $├17┼     ╔NTELLIGENT MEMORY BLOCK MOVE           1-34
  303.           ╔╬╘┬═2    $├1┬7     ╔NTELLIGENT MEMORY BLOCK MOVE WITH
  304.                                    INLINE DATA                        1-34
  305.           ╔╬╒╙┼     $├2┴─     ├HECK IF A DISK SECTOR IS IN USE        1-35
  306.           ╔╬╓┬╧╪    $├12┴     ╥EVERSE VIDEO A BOX                     1-35
  307.           ╔╬╓╠╔╬    $├11┬     ╥EVERSE VIDEO A HORIZONTAL LINE         1-35
  308.           ╔╥╤╥╘╬    $├100     ╔╥╤ ROUTINE                             1-36
  309.           ╠├╚┴╔╬    $├1╞╞     ╠OAD A CHAIN INTO MEMORY, GIVEN THE
  310.                                    INITIAL TRACK AND SECTOR           1-36
  311.           ╠─╙╫┴╨    $├23┼     ╠OAD THE ╙╫┴╨╞╔╠┼                       1-36
  312.           ╠╔╬┼      $├130     ─RAW/┼RASE/├OPY AN ARBITRARY LINE       1-37
  313.           ╠╧┴─      $├208     ╠OAD A FILE, GIVEN A FILE NAME          1-37
  314.           ╠╧┴─2     $├211     ╠OAD A FILE, GIVEN A DIRECTORY ENTRY    1-38
  315.           ╠╧┴─3     $├21─     ╠OAD AND RUN A FILE, GIVEN A
  316.                                    DIRECTORY ENTRY                    1-38
  317.           ╠╧┴─┴─    $├229     ╟ET A FILE'S LOAD ADDRESS               1-39
  318.           ╠╧┴─╙╫    $├217     ╠OAD A FILE WITH MEMORY SWAPPING        1-39
  319.           ╠╧╧╦╒╨    $├20┬     ╠OOKUP A FILE IN THE DIRECTORY          1-40
  320.           ═┴╔╬      $├1├3     ╟┼╧╙'S MAIN LOOP                        1-40
  321.           ═┴╦├╒╥    $├1├0     ├REATE THE TEXT CURSOR SPRITE           1-41
  322.           ═┴╙╠      $├15─     ═ULTIPLE 16 BIT ARITHMETIC SHIFT
  323.                                    LEFT                               1-41
  324.           ═┼╬╒      $├151     ═ENU PROCESSOR                          1-42
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-3
  335.  
  336.  
  337.           ═╠╙╥      $├262     ═ULTIPLE 16 BIT LOGICAL SHIFT RIGHT     1-43
  338.           ═╧╒╙╧╞    $├18─     ╘URN OFF THE MOUSE                      1-43
  339.           ═╧╒╙╧╬    $├18┴     ╘URN ON THE MOUSE                       1-43
  340.           ╬┼╟16     $├172     ╬EGATE A 16 BIT INTEGER                 1-43
  341.           ╬┼╪╘      $├27┴     ═OVE TO NEXT ╓╠╔╥ CHAIN                 1-44
  342.           ╬╒═┬╠╦    $├1─┬     ├OMPUTE NUMBER OF FREE BLOCKS ON
  343.                                    DISK                               1-44
  344.           ╧╨╬─╙╦    $├2┴1     ╧PEN A DISK                             1-44
  345.           ╧╨╬╙┼╥    $├25├     ╧PEN SERIAL COMMUNICATION               1-45
  346.           ╨┬╧╪      $├127     ─RAW AN OUTLINE IN A PATTERN            1-45
  347.           ╨┬╧╪2     $├1┴2     ─RAW A SOLID OUTLINE WITH INLINE
  348.                                    DATA                               1-45
  349.           ╨┼╥═╔╘    $├10╞     ┴LLOW A RECURRING TIMED EVENT TO
  350.                                    EXECUTE                            1-45
  351.           ╨╞╔╠╠     $├124     ╞ILL A BOX WITH A PATTERN               1-46
  352.           ╨╞╔╠╠2    $├19╞     ╞ILL A BOX WITH A PATTERN WITH
  353.                                    INLINE DATA                        1-46
  354.           ╨╠╧╘      $├133     ─RAW/┼RASE/├OPY A POINT ON THE
  355.                                    SCREEN                             1-46
  356.           ╨╧╙╙╨╥    $├1├╞     ╨OSITION A SPRITE                       1-47
  357.           ╨╥┼╓      $├27─     ═OVE TO PREVIOUS ╓╠╔╥ CHAIN             1-47
  358.           ╥┴╬─╧═    $├187     ├HANGE THE RANDOM NUMBER                1-47
  359.           ╥─180     $├247     ╥EAD TRACK 18 SECTOR 0                  1-47
  360.           ╥┼┴─      $├1┼4     ╥EAD A SECTOR                           1-48
  361.           ╥┼┴─2     $├21┴     ╥EAD A SECTOR WITH DRIVE PRESET         1-48
  362.           ╥┼┬╧╧╘    $├000     ╥EBOOT ╟┼╧╙                             1-48
  363.           ╥┼═╧╓┼    $├283     ╥EMOVE A ╓╠╔╥ CHAIN                     1-49
  364.           ╥┼╬┴═┼    $├259     ╥ENAME A FILE                           1-49
  365.           ╥┼╙┼╘═    $├19├     ╥ESET THE MOUSE                         1-49
  366.           ╥┼╙╘╥╘    $├22├     ╠OAD AND RUN ─┼╙╦╘╧╨                    1-49
  367.           ╥╧╫┴─╥    $├13├     ├OMPUTE MEMORY ADDRESS OF A ROW ON
  368.                                    THE SCREEN                         1-50
  369.           ╥╒╬       $├22╞     ╥UN A PROGRAM THAT IS IN MEMORY         1-50
  370.           ╙┴╓┼      $├1┼─     ╙AVE MEMORY TO A FILE                   1-51
  371.           ╙┴╓┼2     $├1╞9     ╙AVE MEMORY TO PREALLOCATED SECTORS     1-51
  372.           ╙─1616    $├16├     ╙IGNED 16 BIT DIVISION                  1-51
  373.           ╙┼╠┬╙╫    $├14┬     ╙ELECT THE ┬╙╫ FONT                     1-52
  374.           ╙┼╘╨┴╘    $├139     ╙ELECT A FILL PATTERN                   1-52
  375.           ╙╨╥╧╞╞    $├1─5     ╘URN OFF A SPRITE                       1-52
  376.           ╙╨╥╧╬     $├1─2     ╘URN ON A SPRITE                        1-52
  377.           ╙╘┴╥╘     $├115     ╙TART A RECURRING TIMED EVENT'S
  378.                                    TIMER                              1-53
  379.           ╙╘╧╨      $├112     ╙TOP A RECURRING TIMED EVENT'S TIMER    1-53
  380.           ╙╘╥├═╨    $├26┬     ╙TRING COMPARE                          1-53
  381.           ╙╘╥├╨┘    $├265     ╙TRING COPY                             1-53
  382.           ╙┘╙┼╥╥    $├2├2     ╥EPORT SYSTEM ERROR                     1-54
  383.           ╘┴┬╠┼     $├23┬     ├REATE A TABLE OF FILE NAMES            1-54
  384.           ╘┬╠╩═╨    $├2┴4     ╨ERFORM A JUMP THROUGH A TABLE          1-54
  385.           ╘┼╙╘      $├13╞     ╘EST THE VALUE OF A PIXEL               1-55
  386.           ╘╥┴├┼     $├205     ├REATE A LIST OF SECTORS USED BY A
  387.                                    FILE                               1-55
  388.           ╒─1616    $├169     ╒NSIGNED 16 BIT DIVISION                1-55
  389.           ╒═1616    $├166     ╒NSIGNED 16 BIT BY 16 BIT MULTIPLY      1-56
  390.           ╒═168     $├163     ╒NSIGNED 16 BIT BY 8 BIT MULTIPLY       1-56
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-4
  401.  
  402.  
  403.           ╒═╒╠88    $├160     ╒NSIGNED 8 BIT BY 8 BIT MULTIPLY        1-56
  404.           ╒╨─┴╘┼    $├295     ╒PDATE A ╓╠╔╥ FILE                      1-57
  405.           ╓├╠╧╙┼    $├277     ├LOSE A ╓╠╔╥ FILE                       1-57
  406.           ╓╠╔╬┼     $├121     ─RAW A VERTICAL LINE IN A PATTERN       1-57
  407.           ╓╠╧┴─     $├28├     ╠OAD A ╓╠╔╥ CHAIN                       1-58
  408.           ╓╧╨┼╬     $├274     ╧PEN A ╓╠╔╥ FILE                        1-58
  409.           ╓╙┴╓┼     $├28╞     ╙AVE MEMORY TO A ╓╠╔╥ CHAIN             1-59
  410.           ╫╚┴╘╔╙    $├196     ╫HO KNOWS WHAT THIS ROUTINE DOES???     1-59
  411.           ╫╔╬─╧╫    $├256     ╫INDOW PROCESSOR                        1-60
  412.           ╫╥180     $├24┴     ╫RITE TO TRACK 18 SECTOR 0              1-62
  413.           ╫╥╔╘┼     $├1┼7     ╫RITE A SECTOR                          1-62
  414.           ╫╥╔╘┼2    $├220     ╫RITE A SECTOR WITH DRIVE PRESET        1-62
  415.           ┌╞╔╠╠     $├178     ╞ILL A MEMORY REGION WITH ZEROES        1-62
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-5
  467.  
  468.  
  469.                                  ╙EQUENTIAL ╠ISTING
  470.  
  471.           ╥┼┬╧╧╘    $├000     ╥EBOOT ╟┼╧╙                             1-48
  472.           ╔╥╤╥╘╬    $├100     ╔╥╤ ROUTINE                             1-36
  473.           ├═─╘┬╠    $├103     ╔NITIALIZE A TABLE OF RECURRING
  474.                                    TIMED EVENTS                       1-16
  475.           ┼╬┴┬╠┼    $├106     ┼NABLE A RECURRING TIMED EVENT          1-26
  476.           ┼╪┼╥╘╬    $├109     ╞ORCE A RECURRING TIMED EVENT TO RUN    1-27
  477.           ╞╧╥┬╔─    $├10├     ╨REVENT A RECURRING TIMED EVENT FROM
  478.                                    RUNNING                            1-28
  479.           ╨┼╥═╔╘    $├10╞     ┴LLOW A RECURRING TIMED EVENT TO
  480.                                    EXECUTE                            1-45
  481.           ╙╘╧╨      $├112     ╙TOP A RECURRING TIMED EVENT'S TIMER    1-53
  482.           ╙╘┴╥╘     $├115     ╙TART A RECURRING TIMED EVENT'S
  483.                                    TIMER                              1-53
  484.           ╚╠╔╬┼     $├118     ─RAW A HORIZONTAL LINE IN A PATTERN     1-31
  485.           ╔╬╓╠╔╬    $├11┬     ╥EVERSE VIDEO A HORIZONTAL LINE         1-35
  486.           ├╧╨┘╠     $├11┼     ├OPY A LINE FROM SCREEN 2 TO SCREEN 1   1-18
  487.           ╓╠╔╬┼     $├121     ─RAW A VERTICAL LINE IN A PATTERN       1-57
  488.           ╨╞╔╠╠     $├124     ╞ILL A BOX WITH A PATTERN               1-46
  489.           ╨┬╧╪      $├127     ─RAW AN OUTLINE IN A PATTERN            1-45
  490.           ╔╬╓┬╧╪    $├12┴     ╥EVERSE VIDEO A BOX                     1-35
  491.           ├╧╨┘┬     $├12─     ├OPY A BOX FROM SCREEN 1 TO SCREEN 2    1-17
  492.           ╠╔╬┼      $├130     ─RAW/┼RASE/├OPY AN ARBITRARY LINE       1-37
  493.           ╨╠╧╘      $├133     ─RAW/┼RASE/├OPY A POINT ON THE
  494.                                    SCREEN                             1-46
  495.           ╟╥╨╚╔├    $├136     ╨ROCESS A GRAPHIC COMMAND TABLE         1-30
  496.           ╙┼╘╨┴╘    $├139     ╙ELECT A FILL PATTERN                   1-52
  497.           ╥╧╫┴─╥    $├13├     ├OMPUTE MEMORY ADDRESS OF A ROW ON
  498.                                    THE SCREEN                         1-50
  499.           ╘┼╙╘      $├13╞     ╘EST THE VALUE OF A PIXEL               1-55
  500.           ├┬╧╪      $├142     ─RAW A CLICK BOX                        1-12
  501.           ─╙╨├╚╥    $├145     ─ISPLAY A CHARACTER                     1-24
  502.           ─╙╨╘╪╘    $├148     ─ISPLAY A TEXT STRING                   1-26
  503.           ╙┼╠┬╙╫    $├14┬     ╙ELECT THE ┬╙╫ FONT                     1-52
  504.           ╔╬╔╘═╙    $├14┼     ╔NITIALIZE THE MOUSE                    1-33
  505.           ═┼╬╒      $├151     ═ENU PROCESSOR                          1-42
  506.           ┼╥┴═╬╒    $├154     ┼RASE THE CURRENT MENU                  1-27
  507.           ┼╥┴═╬╙    $├157     ┼RASE ALL MENUS                         1-27
  508.           ├┬╧╪┼╙    $├15┴     ─RAW A TABLE OF CLICK BOXES             1-13
  509.           ═┴╙╠      $├15─     ═ULTIPLE 16 BIT ARITHMETIC SHIFT
  510.                                    LEFT                               1-41
  511.           ╒═╒╠88    $├160     ╒NSIGNED 8 BIT BY 8 BIT MULTIPLY        1-56
  512.           ╒═168     $├163     ╒NSIGNED 16 BIT BY 8 BIT MULTIPLY       1-56
  513.           ╒═1616    $├166     ╒NSIGNED 16 BIT BY 16 BIT MULTIPLY      1-56
  514.           ╒─1616    $├169     ╒NSIGNED 16 BIT DIVISION                1-55
  515.           ╙─1616    $├16├     ╙IGNED 16 BIT DIVISION                  1-51
  516.           ┴┬╙16     $├16╞     16 BIT ABSOLUTE VALUE                   1-9
  517.           ╬┼╟16     $├172     ╬EGATE A 16 BIT INTEGER                 1-43
  518.           ─┼├16     $├175     ─ECREMENT A 16 BIT INTEGER              1-19
  519.           ┌╞╔╠╠     $├178     ╞ILL A MEMORY REGION WITH ZEROES        1-62
  520.           ┬╠╦╞╔╠    $├17┬     ═EMORY BLOCK FILL                       1-10
  521.           ╔╬╘┬═     $├17┼     ╔NTELLIGENT MEMORY BLOCK MOVE           1-34
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-6
  533.  
  534.  
  535.           ┬╠╦╙┼╘    $├181     ═ULTIPLE MEMORY LOCATION
  536.                                    INITIALIZATION                     1-11
  537.           ─╙╨╬╒═    $├184     ─ISPLAY A 16 BIT INTEGER                1-25
  538.           ╥┴╬─╧═    $├187     ├HANGE THE RANDOM NUMBER                1-47
  539.           ═╧╒╙╧╬    $├18┴     ╘URN ON THE MOUSE                       1-43
  540.           ═╧╒╙╧╞    $├18─     ╘URN OFF THE MOUSE                      1-43
  541.           ├╠╙═╬╒    $├190     ├LOSE CURRENT MENU                      1-15
  542.           ─╥╫═╬╒    $├193     ─RAW THE CURRENT MENU                   1-23
  543.           ╫╚┴╘╔╙    $├196     ╫HO KNOWS WHAT THIS ROUTINE DOES???     1-59
  544.           ─┼╠┴┘     $├199     ╙ET UP A TIME DELAY                     1-20
  545.           ╥┼╙┼╘═    $├19├     ╥ESET THE MOUSE                         1-49
  546.           ╨╞╔╠╠2    $├19╞     ╞ILL A BOX WITH A PATTERN WITH
  547.                                    INLINE DATA                        1-46
  548.           ╨┬╧╪2     $├1┴2     ─RAW A SOLID OUTLINE WITH INLINE
  549.                                    DATA                               1-45
  550.           ├╧╨┘┬2    $├1┴5     ├OPY A BOX FROM SCREEN 1 TO SCREEN 2
  551.                                    WITH INLINE DATA                   1-17
  552.           ╟╥╨╚├2    $├1┴8     ╨ROCESS A GRAPHIC COMMAND TABLE WITH
  553.                                    INLINE DATA                        1-30
  554.           ├┬╧╪2     $├1┴┬     ─RAW A CLICK BOX WITH INLINE DATA       1-12
  555.           ─╙╨╘╪2    $├1┴┼     ─ISPLAY A TEXT STRING WITH INLINE
  556.                                    DATA                               1-26
  557.           ├╚┴╥╙╘    $├1┬1     ╟ET A CHARACTER'S STATS                 1-13
  558.           ┬╠╦╞╠2    $├1┬4     ═EMORY BLOCK FILL WITH INLINE DATA      1-11
  559.           ╔╬╘┬═2    $├1┬7     ╔NTELLIGENT MEMORY BLOCK MOVE WITH
  560.                                    INLINE DATA                        1-34
  561.           ╔╬╨╒╘     $├1┬┴     ╥EAD A LINE OF TEXT FROM THE USER       1-33
  562.           ├═┼╬╒╙    $├1┬─     ├LOSE ALL MENU LEVELS                   1-16
  563.           ═┴╦├╒╥    $├1├0     ├REATE THE TEXT CURSOR SPRITE           1-41
  564.           ═┴╔╬      $├1├3     ╟┼╧╙'S MAIN LOOP                        1-40
  565.           ├╧╨┘╙╨    $├1├6     ├OPY  A SPRITE DATA BLOCK               1-18
  566.           ├╫╔─╘╚    $├1├9     ╟ET A CHARACTER'S WIDTH                 1-19
  567.           ╞╧╬╘      $├1├├     ═AKE A MEMORY RESIDENT FONT THE
  568.                                    CURRENT FONT                       1-28
  569.           ╨╧╙╙╨╥    $├1├╞     ╨OSITION A SPRITE                       1-47
  570.           ╙╨╥╧╬     $├1─2     ╘URN ON A SPRITE                        1-52
  571.           ╙╨╥╧╞╞    $├1─5     ╘URN OFF A SPRITE                       1-52
  572.           ╔╬─╩═╨    $├1─8     ╨ERFORM AN INDIRECT JUMP                1-32
  573.           ╬╒═┬╠╦    $├1─┬     ├OMPUTE NUMBER OF FREE BLOCKS ON
  574.                                    DISK                               1-44
  575.           ╟┼╧╙├╦    $├1─┼     ├HECK IF A DISK IS ╟┼╧╙ FORMAT          1-29
  576.           ╔╬╔╘─╓    $├1┼1     ╔NITIALIZE A DRIVE                      1-32
  577.           ╥┼┴─      $├1┼4     ╥EAD A SECTOR                           1-48
  578.           ╫╥╔╘┼     $├1┼7     ╫RITE A SECTOR                          1-62
  579.           ├╧╬╓╥╘    $├1┼┴     ├ONVERT A DISK TO ╟┼╧╙ FORMAT           1-16
  580.           ╙┴╓┼      $├1┼─     ╙AVE MEMORY TO A FILE                   1-51
  581.           ─╔╥─╙╦    $├1╞0     ├REATE A DIRECTORY ENTRY ON DISK        1-21
  582.           ─╔╥═┼═    $├1╞3     ├REATE A DIRECTORY ENTRY IN MEMORY      1-21
  583.           ╚╧╠┼      $├1╞6     ╞IND A HOLE IN THE DIRECTORY            1-32
  584.           ╙┴╓┼2     $├1╞9     ╙AVE MEMORY TO PREALLOCATED SECTORS     1-51
  585.           ╞┴╠╠╧├    $├1╞├     ┴LLOCATE SECTORS FOR A FILE             1-27
  586.           ╠├╚┴╔╬    $├1╞╞     ╠OAD A CHAIN INTO MEMORY, GIVEN THE
  587.                                    INITIAL TRACK AND SECTOR           1-36
  588.           ─╥┴╫├╚    $├202     ─RAW A CHARACTER ON THE SCREEN          1-23
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-7
  599.  
  600.  
  601.           ╘╥┴├┼     $├205     ├REATE A LIST OF SECTORS USED BY A
  602.                                    FILE                               1-55
  603.           ╠╧┴─      $├208     ╠OAD A FILE, GIVEN A FILE NAME          1-37
  604.           ╠╧╧╦╒╨    $├20┬     ╠OOKUP A FILE IN THE DIRECTORY          1-40
  605.           ─┼├╧─┼    $├20┼     ├OMPUTE THE CHECKSUM OF A MEMORY
  606.                                    REGION                             1-20
  607.           ╠╧┴─2     $├211     ╠OAD A FILE, GIVEN A DIRECTORY ENTRY    1-38
  608.           ─╙┼╘╒╨    $├214     ╙ETUP A DRIVE WITH TURBODOS             1-24
  609.           ╠╧┴─╙╫    $├217     ╠OAD A FILE WITH MEMORY SWAPPING        1-39
  610.           ╥┼┴─2     $├21┴     ╥EAD A SECTOR WITH DRIVE PRESET         1-48
  611.           ╠╧┴─3     $├21─     ╠OAD AND RUN A FILE, GIVEN A
  612.                                    DIRECTORY ENTRY                    1-38
  613.           ╫╥╔╘┼2    $├220     ╫RITE A SECTOR WITH DRIVE PRESET        1-62
  614.           ├╫╥╔╘┼    $├223     ╓ERIFY BEFORE WRITING SECTOR            1-19
  615.           ╞╥┼┼      $├226     ╞REE A FILE'S SECTORS                   1-29
  616.           ╠╧┴─┴─    $├229     ╟ET A FILE'S LOAD ADDRESS               1-39
  617.           ╥┼╙╘╥╘    $├22├     ╠OAD AND RUN ─┼╙╦╘╧╨                    1-49
  618.           ╥╒╬       $├22╞     ╥UN A PROGRAM THAT IS IN MEMORY         1-50
  619.           ├╠╥╥─┘    $├232     ╙TOP TURBODOS IN A DRIVE                1-14
  620.           ├╠╥╙╘╙    $├235     ╙TOP AND REMOVE TURBODOS IN A DRIVE     1-15
  621.           ─┼╠┼╘┼    $├238     ─ELETE A FILE                           1-20
  622.           ╘┴┬╠┼     $├23┬     ├REATE A TABLE OF FILE NAMES            1-54
  623.           ╠─╙╫┴╨    $├23┼     ╠OAD THE ╙╫┴╨╞╔╠┼                       1-36
  624.           ┬┴╙╔├     $├241     ╥ESTART ┬┴╙╔├                           1-10
  625.           ─┼╠┼╘2    $├244     ─ELETE A TEMPORARY FILE                 1-20
  626.           ╥─180     $├247     ╥EAD TRACK 18 SECTOR 0                  1-47
  627.           ╫╥180     $├24┴     ╫RITE TO TRACK 18 SECTOR 0              1-62
  628.           ╞┴╠╧├2    $├24─     ┴LLOCATE SECTORS FOR A FILE             1-28
  629.           ├╧╨┘┬3    $├250     ├OPY A BOX FROM SCREEN 2 TO SCREEN 1    1-17
  630.           ├╧╨┘┬4    $├253     ├OPY A BOX FROM SCREEN 2 TO SCREEN 1
  631.                                    WITH INLINE DATA                   1-17
  632.           ╫╔╬─╧╫    $├256     ╫INDOW PROCESSOR                        1-60
  633.           ╥┼╬┴═┼    $├259     ╥ENAME A FILE                           1-49
  634.           ╧╨╬╙┼╥    $├25├     ╧PEN SERIAL COMMUNICATION               1-45
  635.           ├╠╙╙┼╥    $├25╞     ├LOSE SERIAL COMMUNICATION              1-15
  636.           ═╠╙╥      $├262     ═ULTIPLE 16 BIT LOGICAL SHIFT RIGHT     1-43
  637.           ╙╘╥├╨┘    $├265     ╙TRING COPY                             1-53
  638.           ┬╠╦═╧╓    $├268     ═EMORY BLOCK MOVE                       1-11
  639.           ╙╘╥├═╨    $├26┬     ╙TRING COMPARE                          1-53
  640.           ┬╠╦├═╨    $├26┼     ═EMORY BLOCK COMPARISON                 1-10
  641.           ╔╬╔╘01    $├271     ╔NITIALIZE ╟┼╧╙ VARIABLES               1-32
  642.           ╓╧╨┼╬     $├274     ╧PEN A ╓╠╔╥ FILE                        1-58
  643.           ╓├╠╧╙┼    $├277     ├LOSE A ╓╠╔╥ FILE                       1-57
  644.           ╬┼╪╘      $├27┴     ═OVE TO NEXT ╓╠╔╥ CHAIN                 1-44
  645.           ╨╥┼╓      $├27─     ═OVE TO PREVIOUS ╓╠╔╥ CHAIN             1-47
  646.           ╟╧╘╧      $├280     ╟OTO A SPECIFIC ╓╠╔╥ CHAIN              1-30
  647.           ╥┼═╧╓┼    $├283     ╥EMOVE A ╓╠╔╥ CHAIN                     1-49
  648.           ╔╬╙┼╥╘    $├286     ╔NSERT A ╓╠╔╥ CHAIN                     1-34
  649.           ┴╨╨┼╬─    $├289     ┴DD A ╓╠╔╥ CHAIN                        1-9
  650.           ╓╠╧┴─     $├28├     ╠OAD A ╓╠╔╥ CHAIN                       1-58
  651.           ╓╙┴╓┼     $├28╞     ╙AVE MEMORY TO A ╓╠╔╥ CHAIN             1-59
  652.           ┴╠╠╧├     $├292     ╞IND AND ALLOCATE A DISK BLOCK          1-9
  653.           ╒╨─┴╘┼    $├295     ╒PDATE A ╓╠╔╥ FILE                      1-57
  654.           ─╥╓╬┴═    $├298     ├OMPUTE ADDRESS OF DISK'S NAME          1-23
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-8
  665.  
  666.  
  667.           ├╒╥╙╧╬    $├29┬     ╘URN ON THE TEXT CURSOR                 1-18
  668.           ├╒╥╙╧╞    $├29┼     ╘URN OFF THE TEXT CURSOR                1-18
  669.           ╧╨╬─╙╦    $├2┴1     ╧PEN A DISK                             1-44
  670.           ╘┬╠╩═╨    $├2┴4     ╨ERFORM A JUMP THROUGH A TABLE          1-54
  671.           ╟┼╘╔╬     $├2┴7     ╥EAD A CHARACTER FROM THE KEYBOARD      1-30
  672.           ─╥┴╫      $├2┴┴     ─RAW A CODED IMAGE                      1-22
  673.           ╔╬╒╙┼     $├2┴─     ├HECK IF A DISK SECTOR IS IN USE        1-35
  674.           ─╥╓╙┼╘    $├2┬0     ╙ELECT A DRIVE                          1-23
  675.           ├╦═╧╒╙    $├2┬3     ├HECK IF MOUSE IS INSIDE A WINDOW       1-14
  676.           ╟┼╘┬┘╘    $├2┬6     ╟ET A BYTE FROM A FILE                  1-29
  677.           ├╚╟─╥╓    $├2┬├     ├HANGE DISK DRIVE DEVICE NUMBER         1-14
  678.           ├╠╙╫╔╬    $├2┬╞     ├LOSE A WINDOW                          1-15
  679.           ╙┘╙┼╥╥    $├2├2     ╥EPORT SYSTEM ERROR                     1-54
  680.           ─╥┴╫2     $├2├5     ─RAW A CODED IMAGE WITH USER PATCHES    1-22
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.